package com.zicheng.luckyGift.array;

import com.zicheng.luckyGift.dto.LuckyAwardDTO;
import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;


public class ArrayTests {

    public void testArrayLocation(List<LuckyAwardDTO> awardList) {
        String awardCfgCode = "";
        List<LuckyAwardDTO> awardListVO = new ArrayList<>();
        for (LuckyAwardDTO luckyAwardDTO : awardList) {
            awardCfgCode = luckyAwardDTO.getAwardConfigCode();
            LuckyAwardDTO awardDto = findExistLuckyAward(awardListVO, awardCfgCode); // 若 当前的奖励内容 已有，那么数量+1
            if (awardDto != null) {
                awardDto.incrementAwardTimes(1); // 难道说，这里的实体类，实际上会指向同一个目标
            } else {
                awardListVO.add(new LuckyAwardDTO(awardCfgCode, 1)); // 如果当前的奖励不存在，那么新建一个
            }
        }
        for (LuckyAwardDTO luckyAwardDTO : awardListVO) {
            System.out.println(luckyAwardDTO.getAwardConfigCode()+":"+luckyAwardDTO.getAwardTimes());
        }

    }
    private LuckyAwardDTO findExistLuckyAward(List<LuckyAwardDTO> awardList, String awardCode) {
        for (LuckyAwardDTO lad : awardList) {
            if (lad.getAwardConfigCode().equals(awardCode)) {
                return lad;
            }
        }
        return null;
    }
}
